package po

import "maya-service/model"

// DeliverOrderReq 派发订单
type DeliverOrderReq struct {
	UserId      string `json:"user_id"`
	AiConsultId int64  `json:"ai_consult_id"`
	GoodId      int64  `json:"good_id"`
}

type DeliverOrderRsp struct {
	OrderId  string `json:"order_id"`
	WaitTime int64  `json:"wait_time"` // 预计等待时间
	KfLink   string `json:"kf_link"`   // 客服链接
}

// GrabOrderReq 抢订单
type GrabOrderReq struct {
	UserId  string `json:"user_id"`
	OrderNo string `json:"order_no"`
}
type GrabOrderRsp struct {
	OrderId string `json:"order_id"`
}

// DeliveryGoodsReq 订单配送
type DeliveryGoodsReq struct {
	UserId  string `json:"user_id"`
	OrderId string `json:"order_id"`
}

type DeliveryGoodsRsp struct {
	OrderId string `json:"order_id"`
}

type ConsultData struct {
	ConsultId int64  `json:"consult_id"`
	Title     string `json:"title"`
}

type DeliveryUser struct {
	UserId   string `json:"user_id"`
	NickName string `json:"nick_name"`
}

// OrderContext 订单详情
type OrderContext struct {
	UserId         string            `json:"user_id"` // 客户ID
	OrderId        string            `json:"order_id"`
	GoodId         int64             `json:"good_id"`         // 物品ID
	ChatContext    string            `json:"chat_context"`    // 群聊现场数据
	SupervisorId   string            `json:"supervisor_id"`   // 督导师ID
	ConsultContext ConsultData       `json:"consult_context"` // 咨询现场数据
	Goods          model.ProductInfo `json:"goods"`
	DeliveryUser   DeliveryUser      `json:"delivery_user"` // 派单用户
}

// ServiceListReq 服务列表请求
type ServiceListReq struct {
	UserId string `json:"user_id"`
	model.ProductListRequest
}

type ServiceListItem struct {
	Level       int              `json:"level"` // 1 初级 2 中级 3 高级
	ServiceList []*ProductDetail `json:"service_list"`
}

type ServiceListRsp struct {
	List []*ServiceListItem `json:"list"`
}

type OrderDataInfo struct {
	model.OrderInfo
	OrderData *OrderContext `json:"order_data"`
}

// OrderDetailReq 订单详情
type OrderDetailReq struct {
	OrderNo string `json:"order_no"`
}

type CancelOrderReq struct {
	UserId  string `json:"user_id"`
	OrderNo string `json:"order_no"`
}

// SignatureReq 签名
type SignatureReq struct {
	Url string `json:"url"`
}

type SignatureRsp struct {
	Noncestr  string `json:"noncestr"`
	Timestamp int64  `json:"timestamp"`
	Signature string `json:"signature"`
}

// ConsultDetailReq 咨询详情
type ConsultDetailReq struct {
	ExternalUserId string `json:"external_user_id"`
	GuideUserId    string `json:"guide_user_id"`
}

type ConsultDetailRsp struct {
	model.AiConsultInfo
}
